﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ВидыНормативногоВыходаПроизводства
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"f170233c-990d-45fc-9e66-936c5c7acf25\", \"Представление\":\"ОсновнаяПродукция\"}")]
		ОсновнаяПродукция = 0,//Основная продукция
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"487e6247-5c67-4c4a-ab89-84a523aab957\", \"Представление\":\"СопутствующаяПродукция\"}")]
		СопутствующаяПродукция = 1,//Сопутствующая продукция
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"ddec2931-0936-4669-a8b1-65e2f5fa36ba\", \"Представление\":\"ВозвратныйОтход\"}")]
		ВозвратныйОтход = 2,//Возвратный отход
	}
	public static partial class ВидыНормативногоВыходаПроизводства_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ОсновнаяПродукция = new Guid("6c93669e-7a5c-25cf-45fc-990df170233c");//Основная продукция
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СопутствующаяПродукция = new Guid("a58489ab-aa23-57b9-4c4a-5c67487e6247");//Сопутствующая продукция
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ВозвратныйОтход = new Guid("e265b1a8-faf5-ba36-4669-0936ddec2931");//Возвратный отход
		public static ВидыНормативногоВыходаПроизводства Получить(this ВидыНормативногоВыходаПроизводства Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыНормативногоВыходаПроизводства Получить(this ВидыНормативногоВыходаПроизводства Значение, Guid Ссылка)
		{
			if(Ссылка == ОсновнаяПродукция)
			{
				return ВидыНормативногоВыходаПроизводства.ОсновнаяПродукция;
			}
			else if(Ссылка == СопутствующаяПродукция)
			{
				return ВидыНормативногоВыходаПроизводства.СопутствующаяПродукция;
			}
			else if(Ссылка == ВозвратныйОтход)
			{
				return ВидыНормативногоВыходаПроизводства.ВозвратныйОтход;
			}
			return ВидыНормативногоВыходаПроизводства.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыНормативногоВыходаПроизводства Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыНормативногоВыходаПроизводства Значение)
		{
			switch (Значение)
			{
				case ВидыНормативногоВыходаПроизводства.ОсновнаяПродукция: return ОсновнаяПродукция;
				case ВидыНормативногоВыходаПроизводства.СопутствующаяПродукция: return СопутствующаяПродукция;
				case ВидыНормативногоВыходаПроизводства.ВозвратныйОтход: return ВозвратныйОтход;
			}
			return Guid.Empty;
		}
	}
}